#include <cstdio>
#include <memory.h>

int a[ 101 ], b[ 101 ][ 101 ], c[ 101 ][ 101 ], n, m;
bool visit[ 101 ];

int main( )
{
    int i, j, cnt;
    bool flag;
    while ( scanf("%d%d", &n, &m) != EOF )
    {
        memset( visit, 0, sizeof( visit ) );
        for ( i = 0; i < n; i++ )
            scanf("%d", &a[ i ]);
        for ( i = 0; i < m; i++ )
            for ( j = 0; j < n; j++ )
                scanf("%d", &b[ i ][ j ]);
        for ( i = 0; i < m; i++ )
            for ( j = 0; j < n; j++ )
            {
                scanf("%d", &c[ i ][ j ]);
                a[ j ] -= c[ i ][ j ];
            }
        cnt = 0;
        while ( cnt < m )
        {
            flag = false;
            for ( i = 0; i < m; i++ )
                if ( !visit[ i ] )
                {
                    for ( j = 0; j < n; j++ )
                        if ( a[ j ] < b[ i ][ j ] - c[ i ][ j ] )
                            break;
                    if ( j == n )
                    {
                        visit[ i ] = true;
                        cnt++;
                        for ( j = 0; j < n; j++ )
                            a[ j ] += c[ i ][ j ];
                        flag = true;
                    }
                }
            if ( !flag ) break;
        }
        if ( !flag )
            puts("No");
        else
            puts("Yes");
    }
    return 0;
}
